package com.yf.tz.service.impl;

import com.yf.tz.dao.MallSkuItemDao;
import com.yf.tz.entity.MallSkuItemEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

import com.yf.tz.dao.MallSkuDao;
import com.yf.tz.entity.MallSkuEntity;
import com.yf.tz.service.MallSkuService;
import com.yf.service.impl.BaseServiceImpl;
import org.springframework.transaction.annotation.Transactional;

/**
 * 产品规格Service实现类
 *
 * @author hxf
 * @email 505860922@qq.com
 * @date Wed Jul 01 16:32:18 CST 2020
 */
@Service
public class MallSkuServiceImpl extends BaseServiceImpl<MallSkuEntity> implements MallSkuService {

    private MallSkuDao mallSkuDao;

    @Autowired
    private MallSkuItemDao itemDao;


    @Autowired
    public void setDao(MallSkuDao mallSkuDao) {
        this.mallSkuDao = mallSkuDao;
        super.setBaseDao(mallSkuDao);
    }


    /**
     *
     *
     @Override
     List<MallSkuVo> queryListVo(MallSkuVo mallSkuVo){
            return mallSkuDao.queryListVo(mallSkuVo);
     }

     @Override
     MallSkuVo getVo(Long id){
                return mallSkuDao.getVo(id);
    }

     **/


    /**内部方法**/



    /**外部方法实现**/

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void resetSku(Long goodsId, List<MallSkuItemEntity> skuItemList, List<MallSkuEntity> skuList) {
        //删除sku
        mallSkuDao.deleteByGoodsId(goodsId);
        //删除组件
        itemDao.deleteByGoods(goodsId);
        if(skuItemList!=null&&skuItemList.size()>0){
            itemDao.insertByList(skuItemList,goodsId);
        }
        if(skuList!=null&&skuList.size()>0){
            mallSkuDao.insertByList(skuList,goodsId);
        }
    }

    @Override
    public List<MallSkuEntity> findSkuByGoodsId(Long goodsId) {
        return mallSkuDao.findByGoodsId(goodsId);
    }

    @Override
    public List<MallSkuItemEntity> findSkuItemByGoodsId(Long goodsId) {
        return itemDao.findByGoodsId(goodsId);
    }
}
